home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / T U R B O Language / Turbo C v2.0 / MAIN.C < prev    next >
Text File  |  1988-08-29  |  1KB  |  49 lines

  1. /*    MAIN.C
  2.  
  3.     Alternate, standalone main() file.  Demonstrates
  4.     linking to the startup code without having to link
  5.     to any of the Turbo C library routines.
  6.  
  7.     Copyright (c) 1987,88 Borland International.  All rights reserved.
  8. */
  9.  
  10. /*
  11.  
  12. Compile and link with:
  13.  
  14.     tcc -c -ms main
  15.     tasm c0 /D__SMALL__ /D__NOFLOAT /t/mx;
  16.     tasm setargv /D__SMALL__ /t/mx;
  17.     tlink c0 main setargv /c/m,main
  18.  
  19. For another memory model, replace __SMALL__ with one of
  20.     __MEDIUM__, __COMPACT__, __LARGE__, __HUGE__
  21.  
  22. If using tiny model, replace __SMALL__ with __TINY__ and run
  23.     exe2bin main.exe main.com
  24.     del main.exe
  25.  
  26. Resulting main.exe has no references to the library.
  27. Caution: This example works only with no floating point code.
  28. */
  29.  
  30. #include <dos.h>
  31. #include <stdlib.h>
  32.  
  33. void exit(int c)
  34. { _exit(c);}
  35.  
  36. void _setenvp(void){}        /* dummy out _setenvp */
  37.  
  38. unsigned _stklen = 0x200;
  39. unsigned _heaplen = 0;
  40.  
  41. void main()
  42. {
  43.     /* print Hello, world using int 21, function 9 */
  44.     _DX = (unsigned) "Hello, world.\r\n$";
  45.     _AX = 0x900;
  46.     __int__(0x21);        /* use built-in, inline function */
  47.     exit(0);
  48. }
  49.